/*
	File:		BitmapFont.h					
	Author:		CMorehead	
	Date: April 04, 2013
	Purpose:	Contain / manage the Fonts		
*/

#pragma once
#include "windows.h"
#include "../source/SGD_Handle.h"
#include "../source/Color.h"
#include "../source/IGraphics.h"

//Forward declarations
class IGraphics;
class IGameStateMachine;

class BitmapFont
{
public:
	BitmapFont(void);
	~BitmapFont(void);

	void Print(const char* szText, int nX, int nY, float fScale, SColor dwColor);
	SRect* CellAlgorithm( int id );

private:
	BitmapFont (const BitmapFont& object);
	BitmapFont& operator= (const BitmapFont& object);
	// Cell Algorithm
	int		m_nCharWidth;		// 32
	int		m_nCharHeight;		// 32
	int		m_nNumRows;			// 6
	int		m_nNumCols;			// 10

	int		m_nImageID;
	char	m_cFirstChar;		// ' '
	bool	m_bOnlyUppercase;	// true

	int	nCellWidth;
	int	nCellHeight;

	int	nNumCols;
	int	nNumRows;

	//Wrappers
	IGraphics*		m_pGraphics;
	HTexture		m_hTexture;

	SRect* rSource;
};

